Field of the Invention
The present invention relates to an information processing technique.
Description of the Related Art
A portable multi-function terminal (to be referred to as a mobile computer hereinafter) is basically formed from three elements, that is, hardware as the computer itself, an operating system (to be referred to as an OS hereinafter) operating on the hardware, and applications operating on the OS. By using the applications, the user can use functions such as a map, mail, or browsing of a Web site on the Internet.
As examples of the form of such applications operating on the mobile computer, there are mainly two application forms, that is, a native application and Web application. The features of each application form will be explained below.
The native application is developed by using a development environment and development language which correspond to each OS. For example, the C/C++ language is used on an OS provided by company A, the Java® language is used on an OS provided by company B, and a different development language is used on an OS provided by company C. In general, the native application is compiled in advance in each development environment, and converted from a so-called high-level language understandable by a human into instruction sets such as an assembler interpretable by the CPU of the computer. Thus, the general native application has an advantage that it is possible to perform an operation at high speed since the CPU directly interprets instructions.
On the other hand, the Web application indicates an application operating on a Web browser which is normally incorporated in an OS on each computer in recent years. The application is generally developed by using a language such as HTML5, CSS, or JavaScript® so that the Web browser can interpret the application. These languages are Web standard languages. Therefore, if a Web application is described using the Web standard language, it can operate in any environment where the Web browser operates.
Japanese Patent Laid-Open No. 2011-233034 discloses a technique of performing printing by a Web application operating on a Web Browser.
As described above, an image such as a photo may be stored in a recent mobile computer. An application of performing filter processing of changing the image into a monochrome/sepia-toned image or image processing of correcting the brightness, color balance, and the like of the photo has become very important and essential to the user. When creating an application capable of readily providing such image processing to the user without any stress in each of the above two application forms, this may have the following advantages and disadvantages.
The native application has an advantage that it is possible to perform processing at high speed, as described above. However, it is necessary to develop the application using different development language for different OSes. This may increase the development cost and development time, thereby making it impossible to quickly provide the application to the user. Also, it is necessary to compile (translate) the native application in advance. Therefore, for example, it may be difficult to change the UI (User Interface) design of the application at the time of an operation, or dynamically add a function, resulting in a lack of flexibility.
As for the Web application, the main body of the Web application described in HTML5, CSS, or JavaScript generally may exist on a server outside the mobile computer. Since the Web application is dynamically downloaded from the server to the mobile computer via an Internet line when using it, it is possible to dynamically change the UI design or the like without compiling the application in advance.
However, when performing advanced complex processing, there are only two choices about whether to perform the Web application on the browser by JavaScript or on the server under the security restrictions of the browser. Conventionally, JavaScript is described as a script of character strings perceivable by a human, and can be performed by compiling the script, as needed, at the time of operating the script. Consequently, if complex processing is described by JavaScript, the operation may be slowed down.
On the other hand, if the complex processing is performed by the server, the time is required to upload data such as photos existing in the mobile computer to the server via the Internet line, and download the result of the processing by the server from the server. In some cases, this arrangement cannot implement immediate processing with little stress on the mobile application.
On the other hand, the color difference between different devices such as a camera, scanner, display, and printer conventionally becomes a problem. To solve this problem, there is provided a color management system (CMS) for collectively managing color. The mobile computer is equally required to support the CMS. However, the present/absence of support for the CMS and a color management module for performing color conversion may be different for each OS. There is a need to perform independent color management in order to take advantage of the feature of each application.
Processing associated with the CMS cannot be performed at high speed by the Web application, and is desirably performed by the native application. On the other hand, the data format of image data processed by the Web application is different from that of image data processed by the native application. If, therefore, image processing is requested for image data displayed by the Web application, even if the image data processed by the Web application is transmitted to the native application, the native application may be unable to perform the image processing. Even if the native application performs the image processing for the image data, the Web application may be unable to display the image data having been applied with the image processing.